import msg from "./msg"

export const formatTime = (date: Date) => {
  const year = date.getFullYear()
  const month = date.getMonth() + 1
  const day = date.getDate()
  const hour = date.getHours()
  const minute = date.getMinutes()
  const second = date.getSeconds()

  return (
    [year, month, day].map(formatNumber).join('/') +
    ' ' +
    [hour, minute, second].map(formatNumber).join(':')
  )
}
export const formatTimeYMD= (date: Date) => {
  const year = date.getFullYear()
  const month = date.getMonth() + 1
  const day = date.getDate()
  return (
    [year, month, day].map(formatNumber).join('-')
  )
}
const formatNumber = (n: number) => {
  const s = n.toString()
  return s[1] ? s : '0' + s
}


/**
 * @function 通过url获取参数
 * @param 带参数的url
 * @return 包含URL 中的参数及其对应的值的一个对象
*/

export function parseURLParams(url: string): { [key: string]: string } {
  const params: { [key: string]: string } = {};
  // 去除 URL 中的协议、主机和路径，只保留查询参数部分
  const queryString = url.split('?')[1];
  if (queryString) {
      // 将查询参数字符串分割成键值对数组
      const pairs = queryString.split('&');
      // 遍历键值对数组，将参数解析为对象
      pairs.forEach(pair => {
          const [key, value] = pair.split('=');
          params[key] = decodeURIComponent(value);
      });
  }
  return params;
}
//判断输入时间是否大于当前时间
export function isFutureDate(inputDate: string): boolean {
  // 将输入日期字符串转换为 Date 对象
  const inputDateTime = new Date(inputDate.replace(/-/g, '/'));

  // 获取当前日期时间
  const currentDateTime = new Date();

  // 比较输入日期时间与当前日期时间
  return inputDateTime > currentDateTime;
}
//打乱数组顺序
export function shuffleArray<T>(array: T[]): T[] {
  const shuffledArray = [...array]; // 复制原数组，避免修改原数组
  for (let i = shuffledArray.length - 1; i > 0; i--) {
      const j = Math.floor(Math.random() * (i + 1)); // 生成 0 到 i 之间的随机数
      [shuffledArray[i], shuffledArray[j]] = [shuffledArray[j], shuffledArray[i]]; // 交换位置
  }
  return shuffledArray;
}
